package br.com.gustavobhz.portalcolaborador.pages;

import org.apache.tapestry5.annotations.Component;
import org.apache.tapestry5.annotations.Log;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.corelib.components.Form;
import org.apache.tapestry5.ioc.Messages;
import org.apache.tapestry5.ioc.annotations.Inject;

import br.com.gustavobhz.portalcolaborador.annotations.AnonymousAccess;
import br.com.gustavobhz.portalcolaborador.seguranca.AutenticadorException;
import br.com.gustavobhz.portalcolaborador.services.Autenticador;

@AnonymousAccess
public class Signin {
	
    @Property
    private String flashmessage;

    @Property
    private String nome;

    @Property
    private String senha;

    @Inject
    private Autenticador autenticador;

    @Component
    private Form loginForm;

    @Inject
    private Messages messages;

    @Log
    public Object onSubmitFromLoginForm()
    {
        try
        {
            autenticador.login(nome, senha);
        }
        catch (AutenticadorException ex)
        {
            loginForm.recordError(messages.get("Usuário e/ou senha incorretos. Tente novamente."));
            return null;
        }

        return Index.class;
    }

    public String getFlashMessage()
    {
        return flashmessage;
    }

    public void setFlashMessage(String flashmessage)
    {
        this.flashmessage = flashmessage;
    }


}